﻿using System;
using StoCombatLogHUD.Parsing;

namespace StoCombatLogHUD.Statistics.StatisticsEntries
{
	/// <summary>
	/// Interface contract fora Statistics Entries.
	/// </summary>
	public interface IStatisticsEntry
	{
		/// <summary>
		/// Gets the <see cref="StatisticValue"/> with the specified flags.
		/// </summary>
		/// <value>
		/// The <see cref="StatisticValue"/>.
		/// </value>
		/// <param name="flags">The flags.</param>
		/// <returns></returns>
		StatisticValue this [CombatLogEntry.CombatFlags flags] { get; }

		/// <summary>
		/// Returns the number of entries matching the given <paramref name="flags"/>.
		/// </summary>
		/// <param name="flags">The flags.</param>
		/// <returns></returns>
		int Count(CombatLogEntry.CombatFlags flags);
	}
}
